#ifndef TEXTEVENT_HH
#define TEXTEVENT_HH

#include <string>

/*
  Les instances proviennent du mappage du ResourceLoader et 
  contiennent soit une notification soit des parties de dialogue.
  
  Quand un dialogue/message fournit ou consomme un objet 
  de l'inventaire du joueur, son id est fourni et c'est 
  l'instance de Game exécutant cette instance de TextEvent passé 
  à displayMessage qui fera appel au ResourceLoader pour charger
  ou effacer cet Item dans l'inventaire du joueur avec 
  Player.addItem() ou Player.consumeItem()
*/

class TextEvent {
private:
  int id_;
  std::string locutor_;
  std::string text_;
  int nextEventId_;
  int addItemId_;
  int consumeItemId_;
  int nextRoomId_;
  int requiredTextEventId_;
  std::string face_;
public:
  TextEvent();
  ~TextEvent();

  int getId();
  int getRequiredTextEventId();
  std::string getLocutor();
  std::string getText();
  int getAddItemId();
  int getConsumeItemId();
  std::string getFace();
  int getNextEventId();
  int getNextRoomId();

  void setId(int);
  void setLocutor(std::string);
  void setText(std::string);
  void setNextEventId(int);
  void setAddItemId(int);
  void setConsumeItemId(int);
  void setNextRoomId(int);
  void setRequiredTextEventId(int);
  void setFace(std::string);
};

#endif
